package com.sys.entity;

import com.bhudy.annotation.OneToMany;
import com.bhudy.annotation.PrimaryKey;

import java.util.Date;
import java.util.List;

/**
 * @Author com.bhudy
 * @Description 菜单管理
 * @Date 2019-10-30 23:09:37
 */
public class SysMenu {

    @PrimaryKey
    private Long id;    //编号
    private String name;    //菜单名称
    private Long parentId;    //上级菜单
    private Integer level;    //级别
    private String path;    //全路径
    private String icon;    //图标
    private Integer menuOrder;    //排序
    private Integer type;    //类型   0：目录   1：菜单   2：按钮 3:页面请求
    private String url;    //url
    private String component; // 组件
    private String perms;    //授权(多个用逗号分隔，如：user:list,user:create)
    private String remark;    //备注说明
    private Integer status;    //状态（0正常 1删除 2停用 3冻结）
    private Date updateDate;    //更新时间
    private Long updateBy;    //更新者
    private Date createDate;    //创建时间
    private Long createBy;    //创建者
    @OneToMany(SysMenu.class)
    private List<SysMenu> childrenMenuList;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Long getParentId() {
        return parentId;
    }

    public void setParentId(Long parentId) {
        this.parentId = parentId;
    }

    public Integer getLevel() {
        return level;
    }

    public void setLevel(Integer level) {
        this.level = level;
    }

    public String getPath() {
        return path;
    }

    public void setPath(String path) {
        this.path = path;
    }

    public String getIcon() {
        return icon;
    }

    public void setIcon(String icon) {
        this.icon = icon;
    }

    public Integer getMenuOrder() {
        return menuOrder;
    }

    public void setMenuOrder(Integer menuOrder) {
        this.menuOrder = menuOrder;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public String getComponent() {
        return component;
    }

    public void setComponent(String component) {
        this.component = component;
    }

    public String getPerms() {
        return perms;
    }

    public void setPerms(String perms) {
        this.perms = perms;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Date getUpdateDate() {
        return updateDate;
    }

    public void setUpdateDate(Date updateDate) {
        this.updateDate = updateDate;
    }

    public Long getUpdateBy() {
        return updateBy;
    }

    public void setUpdateBy(Long updateBy) {
        this.updateBy = updateBy;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public Long getCreateBy() {
        return createBy;
    }

    public void setCreateBy(Long createBy) {
        this.createBy = createBy;
    }

    public List<SysMenu> getChildrenMenuList() {
        return childrenMenuList;
    }

    public void setChildrenMenuList(List<SysMenu> childrenMenuList) {
        this.childrenMenuList = childrenMenuList;
    }
}
